As the use and complexity of digital circuits has increased in approximately the last decade, so also has the need to test such circuits increased in order to ensure proper operation. Basically, two types of digital circuit test techniques have been developed, namely functional test techniques and so-called in-circuit test techniques.
In functional test techniques a known digital pattern is applied to the circuit input and a comparison is made of the circuit output with an expected output. The differences between the actual and expected outputs provides an indication of circuit operation. Unfortunately, this technique is only useful when it is desirable to know the overall operation of a circuit, for example a circuit which has been assembled onto a printed circuit board. Very often it is desirable to test individual circuit elements or groups of elements which have been assembled onto a printed circuit board apart from the overall circuit operation.
In in-circuit testing techniques, testing is performed on a circuit element or elements isolated from the remainder of the circuit. In-circuit testing techniques generally involve the application of a preselected digital pattern to the input of an individual circuit element, a so-called device under test (DUT), and the comparison of the DUT response to an expected response. Since the circuit element or elements under test typically are connected to other circuit elements, it is required to overdrive any digital pattern or signal which is being applied by an "upstream" circuit element or logic device. Upstream logic devices are those devices whose outputs normally drive the inputs of the DUT. An overdrive signal is a signal which is superimposed at a selected location in a circuit.
In order to perform multiple simultaneous in-circuit tests on several individual circuit elements mounted on a single printed circuit board, test devices such as that disclosed in U.S. Pat. No. 4,588,945 were developed. In such devices a printed circuit board having circuit elements mounted thereon is in turn mounted or affixed to a so-called bed of nails. Each nail acts as an individual probe either providing a preselected signal to or receiving an output signal from a DUT. As described in that patent, a controller module applies multiple pregenerated signal patterns to multiple DUTs through a driver module. The DUT responses are received through a sensor module and compared to expected responses.
Although it was recognized that while the driver module was to have the ability of overdriving control signals from upstream devices, damage to individual DUTs or to upstream devices could result from such overdriving. The need for in-circuit testing devices, nevertheless, remained high for three primary reasons. First, such testing techniques were effective in finding faults which occur most commonly during circuit board assembly, i.e., solder shorts, wrongly inserted components, damaged or marginal components, missing components. Second, in-circuit testing can be easily accomplished in the sense that pregenerated test patterns could be stored in memory libraries so that a test program could include a series of already generated and stored patterns. Finally, in-circuit testing remained popular because it inherently produced component level diagnostic messages. Sophisticated backtracing routines were not needed to determine with significant probability that a component or components would fail during operation. In U.S. Pat. No. 4,588,945 methods and apparatus are disclosed which prevent damage to such DUTs or upstream devices.
The present invention focuses on improvements to the driver module circuitry of in-circuit testing devices such as that disclosed in U.S. Pat. No. 4,588,945 and of functional testing devices. As discussed in that patent, the driver module is made up of a multiplicity of identical driver circuits which generate the actual voltage signals provided to selected probes or nails in the test bed or bed of nails. These circuits each provide logic high, logic low and an "off" state, i.e., the so-called tri-state. Unfortunately, these driver circuits have experienced problems associated with circuit protection, primarily related to the protection of the driver circuit output transistors from damage caused by exceeding current and power limits. It should be noted that DUTs and upstream devices can cool after an in-circuit test. Consequently, upstream devices may recover from the excessive power dissipation caused by overdriving prior to the next operation. Since the driver circuit is used repeatedly in relation to different nails or test points, if the power limits of such a driver circuit are exceeded, damage may result because no recovery has been allowed to occur. Previously, typical solutions to this problem have involved varying supply voltages to follow desired output levels, current limiting, and duty cycle limiting. Unfortunately these solutions not only involved the incorporation of expensive adjustable power supplies, for overdrive purposes, but also involved limiting current below that required for certain conditions, while often not protecting the circuit during fault conditions.